2018-01-17 / 420-R21-MA / Protocoles Internet
Plan de cours # Introduction aux protocoles Internet ## Comparaison de deux principaux modèles de références ## Les principaux protocoles de la famille TCP/IP # La structure des communications sur un réseau ## Encapsulation ## Entêtes ## Utilisation de Wireshark # Couche 2 ## SLIP ## PPP ## Ethernet, CSMA/CD, PPPoE ## 802.11 (WLAN) ## Les différentes normes ## Particularités des réseaux sans fil # Protocoles ARP et RARP (couches 2 et 3) ## Résolution d'adresses ## Tables ARP # Couche 3 ## IPv4 ### Description du protocole ### Schémas d'adressage ### Réseaux publics et privés ### Sous-réseaux ### Filtres IP ### ICMP ### NAT ## IPv6 ### Description du protocole ### Structure des adresses IPv6 ### Réseaux publics et privés # Couche 4 - TCP et UDP ## Description ## Cas d'usage # Couche 7 ## Communication entre hôtes ### Telnet ### FTP ## Attribution d'adresses IP ### BOOTP ### DHCP ## Résolution de noms ### DNS ## Diagnostics ### SNMP (v1, v2 et v3) # Protocoles de «tunnelling» et chiffrement ## SSL/TLS ## IPSec ## L2TP Introduction aux protocoles Internet NetBIOS https://fr.wikipedia.org/wiki/NetBIOS Wikipédia = une architecture réseau codéveloppée par IBM et Sytek (en) au début des années 1980, aujourd'hui utilisé principalement par Microsoft ; ce n'est pas un protocole réseau, mais un système de nommage et une interface logicielle qui permet d’établir des sessions entre différents ordinateurs d’un réseau NetBIOS n'est pas un protocole, mais il fait partie d'un protocole NetBT (NetBIOS sur TCP/IP). WINS https://fr.wikipedia.org/wiki/Windows_Internet_Naming_Service Wikipédia = (Windows Internet Name Service) est un serveur de noms et services pour les ordinateurs utilisant NetBIOS. En pratique, WINS est aux noms NetBIOS, ce que le DNS est au FQDN ― un dépôt central d'informations (base de données), auquel un client voulant contacter un ordinateur sur le réseau peut envoyer des requêtes pour trouver l'adresse IP à joindre. DNS Fully qualified domain name (FQDN) https://fr.wikipedia.org/wiki/Fully_qualified_domain_name Wikipédia = le nom de domaine complet d'un ordinateur ou d'un hôte particulier sur Internet, qui révèle la position absolue d'un nœud dans l'arborescence DNS ; il se compose de deux parties: le nom d'hôte et le nom de domaine ; selon RFC 1035 « Domain names that end in a dot are called absolute, and are taken as complete. Domain names which do not end in a dot are called relative ». La norme prévoit qu'un élément d'un nom de domaine (appelé label) ne peut dépasser 63 caractères, un FQDN ne pouvant dépasser 253 caractères. DNS (Domain Name System) https://fr.wikipedia.org/wiki/Domain_Name_Systemhttps://fr.wikipedia.org/wiki/Domain_Name_System Wikipédia = un service permettant de traduire un nom de domaine en informations de plusieurs types qui y sont associées, notamment en adresses IP de la machine portant ce nom. Zone DNS https://en.wikipedia.org/wiki/DNS_zone Wikipédia = Eng any distinct, contiguous portion of the domain name space in the Domain Name System (DNS) for which administrative responsibility has been delegated to a single manager. DNS is comprised logically of domains but physically of zones. : НЛО прилетіло і опублікувало це тут. <― Хаха! Types de zones DNS * Primary (master) ** read/write copy of the zone's data ** only one primary zone (outside AD) ** stored in a text file * Secondary (slave) ** read-only copy of the zone's data ** can be a copy of primary, secondary or AD zone * Active Directory integrated ** stored on a domain controller ** all domain controllers have read/write copy of the zone! ** not in text file (harder to resore in case of an accident) * Stub (new) ** only stores records for authority servers ― redirects requests! An authority zone ― has a full copy of all the records for that zone (can be read-only copy). Protocoles de communication Un protocole (en sens général) = définit un ensemble de conventions et de procédures à respecter dans un cadre donné. Deux ordinateurs qui échangent de l'information doivent eux aussi suivre un protocole ; tous les types de communication possibles entre deux hôtes sur un réseau informatique doivent être régis par des protocoles. Un protocole de communication https://fr.wikipedia.org/wiki/Protocole_de_communication Wikipédia = une spécification de plusieurs règles pour un type de communication particulier. Internet https://fr.wikipedia.org/wiki/Internet Wikipédia ― le réseau informatique mondial accessible au public ; c'est un réseau de réseaux, à commutation de paquets, sans centre névralgique, composé de millions de réseaux aussi bien publics que privés, universitaires, commerciaux et gouvernementaux, eux-mêmes regroupés en réseaux autonomes (il y en avait 47 000 en 2014) ; l'information est transmise par Internet grâce à un ensemble standardisé de protocoles de transfert de données, qui permet l'élaboration d'applications et de services variés comme le courrier électronique, la messagerie instantanée, le pair-à-pair et le World Wide Web. ARPANET (1969) = le premier projet qui met en œuvre les travaux pour constituer un réseau qui découpe les communications en paquets (internet). Normes et standards ICANN = Internet Corporation for Assigned Names and Numbers https://fr.wikipedia.org/wiki/Internet_Corporation_for_Assigned_Names_and_Numbers Wikipédia, organisme qui gère la gouvernance du DNS et des adresses IP publiques ; les membres sont nommés par diverses organisations commerciales et académiques. IANA = Internet Assigned Numbers Authority https://fr.wikipedia.org/wiki/Internet_Assigned_Numbers_Authority Wikipédia, division de ICANN qui s'occupe de l'attribution de blocs d'adresses IP publiques, de la gestion des serveurs racine DNS et des domaines supérieurs, et aussi des noms et des nombres associés aux protocoles utilisés sur Internet. Les blocs d'adresses publiques sont attribués à des organismes régionaux (ARIN, APNIC, AFRNIC, LACNIC et RIPENIC) qui les attribuent à leur tour aux fournisseurs d'accès. IETF = Internet Engineering Task Force https://fr.wikipedia.org/wiki/Internet_Engineering_Task_Force Wikipédia, organisme qui gère le développement et la promotion de nouveaux protocoles sur inetnet, notamment par le biais de la publication des RFC (Request for Comments). RFC = Request for Comments https://fr.wikipedia.org/wiki/Request_for_comments Wikipédia ; chaque RFC porte un numéro et a un statut: * Internet Draft ― état initial ; pas de conditions. * Proposed Standard ― Internet Draft pour lequel il n'y a plus de modifications. * Draft Standard ― Proposed Standard ayant été implémenté deux fois. * Internet Standard ― Draft Standard implémenté pratiquement partout et qui ne subit plus de modifications. Modèles OSI et TCP/IP Le modèle OSI (Open Systems Interconnection) https://fr.wikipedia.org/wiki/Mod%C3%A8le_OSI Wikipédia = un standard de communication, en réseau, de tous les systèmes informatiques. C'est un modèle de communications entre ordinateurs proposé par l'ISO (Organisation Internationale de Normalisation) qui décrit les fonctionnalités nécessaires à la communication et l'organisation de ces fonctions. Rôles des couches de modèle OSI : Le modèle TCP/IP https://fr.wikipedia.org/wiki/Suite_des_protocoles_Internet Wikipédia. Encapsulation Service Data Unit (SDU) = les données qui doivent être transmises. Protocol Data Unit (PDU) = le SDU plus l'entête spécifique au protocole du couche. Données Message | HTTP [ Entête TCP | Données ] Paquet | TCP [ Entête IP | Entête TCP | Données ] Datagramme | IP Entête Ethernet | Entête IP | Entête TCP | Données | Pied ] Trame | Ethernet Exercice sur protocoles FTP UDP ICMP ARP Category:420-R21-MA Category:Abstract Category:Plan de cours La structure des communications sur un réseau Encapsulation Entêtes Utilisation de Wireshark Wireshark = une application pour analyser le contenu des trames sur un réseau ; elle est capable à reconnaître un très grand nombre de protocoles et à les présenter de manière structurée à l'utilisateur. Wireshark permet : * observer le contenu de certains paquets spécifiques * observer les conversations entre deux hôtes sur le réseau * visualiser l'ensemble des messages pour un protocole spécifique * dresser des statistiques sur l'utilisation d'un réseau Exercice Wireshark # Quelle est l'adresse du réseau local ? #* Réponse : 10.30.245.0 (masque du réseau 255.255.255.0) # Qulles sont les adresses IP et MAC de l'hôte sur lequel Wireshark roule ? #* Réponse : MAC 08:00:27:c9:b0:b2, IP 10.30.245.48 (nom d'hôte CadmusCo) # Combien y a-t-il de paquets à destination de 206.167.78.22 ? #* Réponse : 198 paquets. # Dans tout le fichier, quelle quantité de données est reçue par l'hôte local ? #* Réponse : #** couche 2 et plus haut : 1'011'409 octets ; #** couche 3 et plus haut : 1'011'769 octets. # Quels hôtes envoient des messages à l'adresse de diffusion du réseau local ? #* Réponse : #** IntelCor_la:ab:60 (IP 10.30.245.79, MAC 74:e5:0b:1a:ab:60) #** IntelCor_6a:a8:97 (IP 10.30.245.60, MAC b8:03:05:6a:a8:97) #** CadmusCo_c9:b0:b2 (IP 10.30.245, MAC 08:00:27:c9:b0:b2) # Quelle est l'adresse du serveur DHCP utilisé ? #* Réponse : IP 10.80.4.40 # À quelle heure l'hôte local a-t-il renouvelé son bail DHCP ? #* Réponse : "Mar 27, 2013 12:02:16.771941000''' EDT'" # Quels sites web ont été consultés (par l'hôte local) ? #* Réponse : admtl.com, canadiantire.com # En données brutes, quel protocole des couches OSI 5, 6 et 7 est le plus utilisé ? #* Réponse : HTTP # Combien de temps dure la connexion TCP qui commence au paquet 306 (en supposant qu'elle commence au paquet ACK et se termine au paquet FIN, ACK) ? #* Réponse : a peu près 9,8 secondes. # Quel est l'adresse IP du serveur DNS interrogé par 10.30.245.48 ? #* Réponse : 10.80.4.40 # Combien de requêtes DNS directes (type « A ») émet l'hôte 10.30.245.48 ? #* Réponse : 20 # Dans l'échange TLS qui commence au paquet 636, quel chiffre (cipher) est utilisé (lors d'un échange SSL/TLS, le client propose une suite de chiffres lors du « Client Hello » et le serveur en sélectionne un lors du « Server Hello ») ? #* Réponse :TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)Category:420-R21-MA Couche 2 : SLIP, PPP, Ehternet SLIP SLIP (Serial Line Internet Protocol) Wikipédia = SLIP a été développé pour encapsuler les datagrammes IP entre deux hôtes reliés par une connexion sérielle. [ Entête | Données | Pied ] L'entête et le pied sont constitués du caractère hexadécimal C0 (1 octet). PPP PPP (Point to Point Protocol) https://fr.wikipedia.org/wiki/Point-to-Point_Protocol Wikipédia = une suite de protocoles... Améliorations à SLIP * Détection et correction des erreurs de transmission * Authentification (de machines) * Compression Protocoles PAP ou CHAP ― pour authentification de machines entre eux. Encapsulation PPP '''NCP' (Network Control Protocols) https://fr.wikipedia.org/wiki/Network_Control_Protocol Wikipédia = donne le format d'encapsulation. Dans le cas des réseaux IP, le protocole de contrôle est IPCP, qui permet de définir l'adresse IP de l'initiateur, des options comme la compression des entêtes IP, etc. Contrôle du lien LCP (Link Control Protocol) Wikipéaid = ... Phases de l'établissement de la connexion PPP # Configuration LCP (couche 2) #* LCP Configure-Request ―> #* <― LCP Configure-Ack # Authentification #* <―> # Configuration NCP (couche 3) #* IPCP Configure-Request (sur IP) ―> #* <― IPCP Configure-Ack # Échange de données #* <―> # Fermeture de la connexion (couche 3) #* IPCP Terminate-Request ―> #* <― IPCP Terminate-Ack # Fermeture de la connexion (couche 2) #* LCP Terminate-Request ―> #* <― LCP Terminate-Ack Tunelling Wikipédia ― on utilise ça pour abstraire les routeurs. Trame PPP Ethernet Ethernet https://fr.wikipedia.org/wiki/Ethernet Wikipédia = un protocole de réseau local (couches 1 et 2) à commutation de paquets (une norme internationale : ISO/IEC 8802-3).'' Paquet Ethernet (couche 1) Trame Ethernet (couche 2) Gestion de collisions ... PPPoE PPPoE https://fr.wikipedia.org/wiki/PPPoE Wikipédia = une manière d'utiliser les mécanismes d'authentification, de correction d'erreurs et de compression de PPP en l'encapsulant dans une connexion Ethernet. L'entête PPPoE PPPoE ― deux étapes # PPPoE Discovery (plusieurs pas) #* Hôte ―> RAS : PADI (PPPoE Active Discovery Initiation packet, pppoe.code 0x09) #** l'hôte envoie un paquet PADI en diffusion (broadcast, MAC = FF:FF:FF:FF:FF:FF:FF) ; ID session = 0x0000 ; #* RAS ―> hôte : PADO (PPPoE Active Discovery Offer paquet)j #** le RAS reçoit le paquet PADI et... #** le RAS envoie en paquet PADO en monodiffusion (MAC = adresse d'hôte) #* # PPP Session Exercice Wireshark sur PPP, PPPoE Voir le document du module 3 sur Omnivox (Lea). Partie 1 : PPP (fichier ''ppp_exercice.pcap) 1. À quel paquet commence-t-on la configuration LCP ? DCE ― d'habitude un modem ; DTE ― d'habitude un ordinateur. Configuration commence avec une requête de configuration (Configuration request) qui obtient une réponse Ack (si tous les options proposées sont acceptées) ou Nak (ou les options non-acceptées sont énumérées). Alors... 2. À quel paquet commence-t-on la configuration NCP ? 3. La première demande de configuration a lieu au paquet 2. Dans quel paquet arrive la réponse àcette requête ? 4. À quel paquet la requête de configuration LCP est-elle acceptée par l’hôte DCE ? 5. Combien de requêtes de configuration LCP l’hôte DTE envoie-t-il avant que DCE accepte ? 6. Combien de requêtes de configuration NCP l’hôte DTE envoie-t-il avant que DCE accepte ? Partie 2 : PPPoE (fichier pppoe_exercice.pcap) 7. Quel est l’identifiant de session PPPoE dont fait partie le paquet 24 de la capture ? 8. Combien y a-t-il de sessions PPPoE dans cette capture ? 9. Quelles adresses IP sont attribuées à l’hôte e0:a1:d7:18:c2:73 au cours des sessions PPPoE ? 10. Combien de temps durent chacune des sessions ? 11. Combien d’octets sont échangés dans chacune des sessions ? Filtrer les requets LCP dans la direction DCE ―> DTE Sous-protocol de PPP 0xC021 (LCP) : ppp.direction 0 and ppp.code 1 and ppp.protocol 0xc021 Filtrer les sessions PPPoE pour les conter Code 0x65 ― initiation d'une session : pppoe.code 0x65 Chercher les adresses IP attribuées à un hôte eth.dst e0:a1:d7:18:c2:73 and ppp.code 2 and ipcp ...Category:Abstract Category:Plan de cours Category:RFC Category:Wireshark Category:DNS Category:Protocole